<?php


namespace app\common;


class Kuaidi100
{

    public static function check($com='jd',$num='JDVF02369267980',$mobile=''){
        //====================================
        // 实时查询示例代码
        // 授权信息可通过链接查看：https://api.kuaidi100.com/manager/v2/myinfo/enterprise
        //====================================

        //参数设置
        $key = 'vdWTmcMk5504';                        // 客户授权key
        $customer = '69FFD25DBC4795A0AEC0AC7D42F11FFF';                   // 查询公司编号
        $param = array (
            'com' => $com,             // 快递公司编码
            'num' => $num,     // 快递单号
            'phone' => $mobile,                // 手机号
            'from' => '',                 // 出发地城市
            'to' => '',                   // 目的地城市
            'resultv2' => '1',            // 开启行政区域解析
            'show' => '0',                // 返回格式：0：json格式（默认），1：xml，2：html，3：text
            'order' => 'desc'             // 返回结果排序:desc降序（默认）,asc 升序
        );

        //请求参数
        $post_data = array();
        $post_data['customer'] = $customer;
        $post_data['param'] = json_encode($param, JSON_UNESCAPED_UNICODE);

        $sign = md5($post_data['param'].$key.$post_data['customer']);
        $post_data['sign'] = strtoupper($sign);
        $url = 'https://poll.kuaidi100.com/poll/query.do';    // 实时查询请求地址
        // 发送post请求
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post_data));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        $result = curl_exec($ch);
        // 第二个参数为true，表示格式化输出json
        $ret = json_decode($result, true);//快递公司参数异常


        if(array_key_exists('result',$ret)){
            $data = ['code'=>400,'msg'=> $ret['message']];
        }else{
            $data = ['code'=>200,'msg'=> '成功','data'=>$ret['data']];
        }
        return $data;
    }
}